Parallelizing Large-Scale Geophysical Applications in Java
نویسندگان
چکیده
Within Geophysics, seismic methods are an essential tool for petroleum and gas exploration. They produce images of the earth's interior and let explorationists analyze the geological structure of the underground. The memory and time requirements of seismic calculations suggest parallel implementations. In Fortran, however, parallel program code often not only lacks maintainability and reusability, but can be errorprone and looses portability when parallelization is attempted. This study shows that the advantages of Java (portability, parallel language constructs, strict objectorientation) can be used to e ciently implement basic seismic methods with acceptable performance. The performance of parallel High Resolution Velocity Analysis and parallel Imaging implemented in JavaParty is compared to the performance of HighPerformance Fortran on IBM SP/2. Thereby a slowdown factor between Java and High-Performance Fortran of only about 1.5-2 has been achieved. 1 The Problem Seismic methods are an important tool for petroleum and gas exploration. They aim at producing images of the earth's interior and let analysts determine the geological structure of the underground. Seismic methods process data obtained by re ections of elastic waves from di erent structural elements within the earth. The data are examined according to di erent speeds which distinguish the speci c underlying structures. The necessary operations demand large amounts of processor time and memory. The implementations of such methods in procedural programming languages like FORTRAN that are largely used in petroleum industry have some disadvantages: Procedural programming languages usually lack in software reusability and therefore make it di cult to maintain the source code. They don't involve an intrinsic hierarchy of operators which is needed for a compound framework of seismic methods. Message Passing libraries are used to implement seismic methods on parallel distributed memory computers. With these libraries the programmer does not only have to deal with the seismic problem but in addition has to tackle the key problems of parallel programming: load balancing and locality. The Java programming language [1, 2] alleviates some of these problems. Java is object-oriented and o ers language elements to express thread-based parallelism and synchronization without additional system libraries. In combination with the integrated Geophysical Institute, Karlsruhe University, Germany Department of Computer Science, Karlsruhe University, Germany part of this study has been supported by a diploma thesis grant of the Prof. Dr.-Ing. Erich M ullerStiftung, Germany
منابع مشابه
Compilation Techniques Specific for a Hardware Cryptography-Embedded Multimedia Mobile Processor
The development of single chip VLSI processors is the key technology of ever growing pervasive computing to answer overall demands for usability, mobility, speed, security, etc. We have so far developed a hardware cryptography-embedded multimedia mobile processor architecture, HCgorilla. Since HCgorilla integrates a wide range of techniques from architectures to applications and languages, one-...
متن کاملLarge-scale parallel geophysical algorithms in Java: a feasibility study
Java is often accused of being too slow for serious programming, especially for scienti c problem solving. However, we found that for a large-scale geophysical application, Java code compiled with current just-intime compilers runs slower than Fortran by a factor of at most four, on both a shared-memory parallel machine (SGI Origin2000) and a distributed-memory parallel machine (IBM SP/2). The ...
متن کاملCompile-time Optimization and Customization in Java and C + MPI
To achieve both of runtime efficiency and maintainability of large-scale and complicated software especially with dynamicity, portability, and concurrency, programmers have strong desire to customize and optimize their software as they need. For exmaple, they may need to perform platform-specific optimizations so as to adapt their software from embedded systems and hand-held devices all the way...
متن کاملVisual Environment for Rapid Composition of Parameter-Sweep Applications for Distributed Processing on Global Grids
Computational Grids are emerging as a platform for next-generation parallel and distributed computing. Large-scale parametric studies and parameter sweep applications find a natural place in the Grid’s distribution model. There is little or no communication between jobs. The task of parallelizing and distributing existing applications is conceptually trivial. These properties of parametric stud...
متن کاملA semi-automatic parallelization tool for Java based on fork-join synchronization patterns
Because of the increasing availability of multi-core machines, clusters, Grids, and combinations of these environments, there is now plenty of computational power available for executing compute intensive applications. However, because of the overwhelming and rapid advances in distributed and parallel hardware and environments, today’s programmers are not fully prepared to exploit distribution ...
متن کامل